home *** CD-ROM | disk | FTP | other *** search
- ///////////////////////////////////
- // Star Warriors select destroyer
- //
-
- temp = new object list
- call set_camera_position
- call set_lights
- mat = new material color 128,128,128
- //call make_fighter1
- //call make_fighter2
- call make_fighter3
-
- clear window
- render mode RENDER_QUICK
- return
-
- initialize:
- temp = new object list
- rect = get element "rectangle"
- render window rect.xpos, rect.ypos size rect.xlen, rect.ylen
- call set_realtime_camera_position
- call set_lights
- mat = new material color 128,128,128
- call make_fighter1
- call make_fighter2
- call make_fighter3
- chosen_fighter = fighter2
- render_mode = RENDER_QUICK
-
- draw_angle: x, y
- xa = (GRAPHICS_WINDOW_XMAX/2 - x) / GRAPHICS_WINDOW_XMAX * 4
- ya = (GRAPHICS_WINDOW_YMAX/2 - y) / GRAPHICS_WINDOW_YMAX * 4
- rotate y, xa
- rotate x, ya
- position mesh chosen_fighter
- render background color 0,0,0
- render mesh chosen_fighter mode render_mode
-
- choose_fighter: ftr
- switch ftr
- case 1
- chosen_fighter = fighter1
- case 2
- chosen_fighter = fighter2
- case 3
- chosen_fighter = fighter3
-
- xray_view: state
- if state then render_mode = RENDER_WIRE
- else render_mode = RENDER_QUICK
-
- set_realtime_camera_position:
- position 0,0,-100
- set camera
-
- set_camera_position:
- position 0,40,0
- direction 0,0,0
- set camera
-
- set_lights:
- position 0,0,-30
- my_light = new light
-
- make_fighter1:
- fighter1 = new object list
- p1 = new polygon 0,0,-20; 0,0,10; 10,-5,10 material mat
- p2 = new polygon 0,0,-20; 0,0,10; -10,-5,10 material mat
- p3 = new polygon 0,0,-20; 0,0,10; -10,5,10 material mat
- p4 = new polygon 0,0,-20; 0,0,10; 10,5,10 material mat
- p5 = new polygon 0,0,-20; 0,5,-10; 0,0,10 material mat
- fighter1 push @p1
- fighter1 push @p2
- fighter1 push @p3
- fighter1 push @p4
- fighter1 push @p5
- $p1.name = "f1p1"
- $p2.name = "f1p2"
- $p3.name = "f1p3"
- $p4.name = "f1p4"
- $p5.name = "f1p5"
-
- load "x3_wing1.gif" bitmap t1
- load "x3_wing3.gif" bitmap t2
- if GRAPHICS_WINDOW_BITS == 8
- compose bitmap t1
- compose bitmap t2
- remap bitmap t1
- remap bitmap t2
- temp remove all
- temp push @p1
- temp push @p2
- temp push @p3
- temp push @p4
- texture temp bitmap t1 planar y
- temp remove all
- temp push @p5
- texture temp bitmap t2 planar x
-
- make_fighter2:
- debug "fighter 2"
- fighter2 = new object list
- p1 = new polygon 10,0,-10; 10,10,-6; 10,10,6; 10,0,10; 10,-10,6; 10,-10,-6 material mat
- p2 = new polygon -10,0,-10; -10,10,-6; -10,10,6; -10,0,10; -10,-10,6; -10,-10,-6 material mat
- p3 = new polygon 10,-5,0; -10,-5,0; -10,5,0; 10,5,0 material mat
- fighter2 push @p1
- fighter2 push @p2
- fighter2 push @p3
- $p1.name = "f2p1"
- $p2.name = "f2p2"
- $p3.name = "f2p3"
-
- load "x3_tie1.gif" bitmap t1
- load "x3_tie2.gif" bitmap t2
- if GRAPHICS_WINDOW_BITS == 8
- compose bitmap t1
- compose bitmap t2
- remap bitmap t1
- remap bitmap t2
- temp remove all
- temp push @p1
- temp push @p2
- texture temp bitmap t1 planar x
- texture p3 bitmap t2
-
- make_fighter3:
- fighter3 = new object list
- p1 = new polygon 0,10,0; 0,10,10; 0,0,10; 0,0,-20 material mat
- p2 = new polygon 0,0,-20; 15,-5,0; 15,-5,10; 0,0,10 material mat
- p3 = new polygon 0,0,-20; -15,-5,0; -15,-5,10; 0,0,10 material mat
- fighter3 push @p1
- fighter3 push @p2
- fighter3 push @p3
- $p1.name = "f3p1"
- $p2.name = "f3p2"
- $p3.name = "f3p3"
-
- load "x3_wing1.gif" bitmap t1
- load "x3_wing2.gif" bitmap t2
- if GRAPHICS_WINDOW_BITS == 8
- compose bitmap t1
- compose bitmap t2
- remap bitmap t1
- remap bitmap t2
- temp remove all
- temp push @p2
- temp push @p3
- texture temp bitmap t1 planar y
- temp remove all
- temp push @p1
- texture temp bitmap t2 planar x
-